+++ /dev/null
-#!/usr/bin/env node
-
-const {ESLint} = require('eslint');
-
-console.log(`Running ESLint version ${ESLint.version}...`);
-
-const fs = require('fs');
-const path = require('path');
-
-function hasOption(...names) {
- return process.argv.some(arg => names.includes(arg));
-}
-
-function getOption(...names) {
- const optIndex =
- process.argv.findIndex(arg => names.includes(arg)) + 1;
-
- if (optIndex === 0)
- return undefined;
-
- return process.argv[optIndex];
-}
-
-(async function main() {
- const outputOption = getOption('--output-file', '-o');
- const outputPath = outputOption ? path.resolve(outputOption) : null;
-
- const sourceDir = path.dirname(process.argv[1]);
- process.chdir(path.resolve(sourceDir, '..'));
-
- const sources = ['js', 'subprojects/extensions-app/js', 'tests'];
- const eslint = new ESLint({cache: true});
-
- const results = await eslint.lintFiles(sources);
- const formatter = await eslint.loadFormatter(getOption('--format', '-f'));
- const resultText = formatter.format(results);
-
- if (outputPath) {
- fs.mkdirSync(path.dirname(outputPath), { recursive: true });
- fs.writeFileSync(outputPath, resultText);
-
- if (hasOption('--stdout')) {
- const consoleFormatter = await eslint.loadFormatter();
- console.log(consoleFormatter.format(results));
- }
- } else {
- console.log(resultText);
- }
-
- process.exitCode = results.some(r => r.errorCount > 0) ? 1 : 0;
-})().catch((error) => {
- process.exitCode = 1;
- console.error(error);
-});